package cool.tsy.emos.wx.db.dao;

import cool.tsy.emos.wx.db.pojo.TbRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 角色表 Mapper 接口
 * </p>
 *
 * @author WangHongxuan
 * @since 2021-09-24
 */
@Mapper
public interface TbRoleDao {

    /**
     * <h2>查询用户拥有的权限</h2>
     */
    ArrayList<HashMap> searchRoleOwnPermission(int id);

    /**
     * <h2>查询所有角色</h2>
     */
    ArrayList<HashMap> searchAllPermission();

    /**
     * <h2>添加角色</h2>
     */
    int insertRole(TbRole role);

    /**
     * <h2>修改角色权限</h2>
     */
    int updateRolePermissions(TbRole role);

    /**
     * <h2>查询角色列表</h2>
     */
    List<TbRole> searchAllRole();

    /**
     * <h2>查询角色对应的用户数量</h2>
     */
    long searchRoleUsersCount(int id);

    /**
     * <h2>根据id删除角色</h2>
     */
    int deleteRoleById(int id);
}
